USBIsocWrite
The
USBIsocWrite
function supports isochronous write transactions, and is defined as follows:
USBIsocWrite(USBIsocPB *pb);
Required fields in the isochronous version of the
USBPB
parameter block for the
USBIsocWrite
function are
-
--> pbLength
-
Length of parameter block
-
--> pbVersion
-
Parameter block version, must be
kUSBIsocPBVersion
for isochronous function calls
-
<--usbStatus
-
Aggregate status, see discussion in
The Isochronous Version Of The USBPB
-
--> usbCompletion
-
The completion routine
-
--> usbRefcon
-
General-purpose value passed back to the completion routine
-
--> usbReference
-
The isochronous pipe reference returned by the
USBFindNextPipe
or
USBOpenPipe
functions
-
--> usbReqCount
-
Specifies the size of the data to transfer. If this is set to 0 in the
frReqCount
field in the frame structure, the call sends a packet size of 0.
-
--> usbBuffer
-
Points to the data to be transferred. The buffer should be at least as big as the size specified in the
usbReqCount
field. If the buffer is set to
nil
, no data is transferred regardless of the value of
usbReqCount
-
<-- usbActCount
-
Specifies the actual amount of data transferred on completion
-
--> usbFlags
-
Should be set to 0
-
--> usb.isoc.FrameList
-
Pointer to the list of frame structures
-
--> frReqCount
Number of bytes requested for each packet
-
-
<-- frStatus
Status returned by packet
-
-
<-- frActCount
Actual bytes transferred by packet
-
-
--> usb.isoc.NumFrames
-
Number of frames to attempt transfers in
-
--> usbFrame
-
Frame number of the first frame to transfer data
A complete discussion of how isochronous support is implemented and additional details about using the fileds in the isochronous version of the USBPB parameter block can be found in
Using the USBPB For Isochronous Transactions
.
© 1999 Apple Computer, Inc. Previous | Back Up One Level | Next | Show Frames | Hide Frames